package com.bestcem.xm.deliver.controller.v2.param;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 邮件投放-保存参数
 *
 * @author SXS
 */
@ApiModel(description = "邮件投放-参数")
@Data
@NoArgsConstructor
public class EmailDeliversParam {

    /**
     * id
     */
    @ApiModelProperty(value = "投放id", name = "deliver_id")
    @JsonProperty("deliver_id")
    private String deliverId;

    /**
     * 项目id
     */
    @ApiModelProperty(value = "问卷id", name = "survey_id")
    @JsonProperty("survey_id")
    private String surveyId;

    /**
     * 名称
     */
    @ApiModelProperty(value = "默认投放名称", name = "_deliver_name")
    @JsonProperty("_deliver_name")
    private String deliverName;

    /**
     * 投放ID
     */
    @ApiModelProperty(value = "", name = "survey_id")
    @JsonProperty("deliver_g_id")
    private String deliverGid;

    /**
     * 数量
     */
    @ApiModelProperty(value = "数量", name = "survey_submit_type")
    @JsonProperty("survey_submit_type")
    private Integer surveySubmitType;

    /**
     * 限制提交次数
     */
    @ApiModelProperty(value = "限制提交次数", name = "survey_id")
    @JsonProperty("check_submit")
    private Integer checkSubmit;

    /**
     * 是否需要审核
     */
    @ApiModelProperty(value = "是否需要审核", name = "is_check")
    @JsonProperty("is_check")
    private Integer isCheck;

    /**
     * 是否定时投放
     */
    @ApiModelProperty(value = "是否定时投放", name = "is_delay")
    @JsonProperty("is_delay")
    private Integer isDelay;


    @ApiModelProperty(value = "投放时间", name = "deliver_time")
    @JsonProperty("deliver_time")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime deliverTime;

    /**
     * 防止打扰的时间列表
     */
    @ApiModelProperty(value = "防止打扰的时间列表", name = "anti_distur_times")
    @JsonProperty("anti_distur_times")
    private List<String> antiDisturTimes;

    @ApiModelProperty(value = "", name = "email_subject")
    @JsonProperty("email_subject")
    private String emailSubject;

    @ApiModelProperty(value = "", name = "email_template")
    @JsonProperty("email_template")
    private String emailTemplate;

    @ApiModelProperty(value = "", name = "member_id_list")
    @JsonProperty("member_id_list")
    private List<String> memberIdlist;
}